package functional.functionalannotation;

/**
 * @ClassName FunctionWithWrapped
 * @PackageName functional.functionalAnnotation
 * @projectName myThread
 * @Description 
 * @Author games
 * @Date 2025/8/26 下午2:15
 * @Version 1.0
 */

import java.util.function.*;

public class FunctionWithWrapped {
    public static void main(String[] args) {
        /**
         * 因为我们可以简单地写 Function <Integer，Double> 并产生正常的结果，
         * 所以用基本类型的唯一原因是可以避免传递参数和返回结果过程中的自动装箱和自动拆箱，进而提升性能。
         *
         * 似乎是考虑到使用频率，某些函数类型并没有预定义
         *
         */
        Function<Integer, Double> fid = i -> (double) i;
        IntToDoubleFunction fid2 = i -> i;
        System.out.println(fid.apply(47));
        System.out.println(fid2.applyAsDouble(47));
    }
}
